/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package biblioteca.persistencia;

import com.google.appengine.api.datastore.Key;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;



@Entity
public class Prestamo implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Key id;

    @Basic
    private String fechaPrestamo;

    @Basic
    private String fechaFinPrestamo;

   /* @Basic
    @OneToMany(mappedBy="libro", cascade=CascadeType.ALL)
    private Collection <Libro> libroP = new ArrayList<Libro>();//luego se hara con "Articulos"*/

    @Basic
    @OneToOne(mappedBy="libro",fetch = FetchType.LAZY)
    private List<Libro> libroPR = new ArrayList <Libro>();

    @Basic
    @OneToOne(fetch = FetchType.LAZY)
    private Socio socioPR;

    public Prestamo() {
        Date fechaActual = new Date();
        SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
        this.fechaPrestamo = formato.format(fechaActual);
        this.fechaFinPrestamo = "0/0/0";
    }


    public String getFechaFinPrestamo() {
        return fechaFinPrestamo;
    }

    public void setFechaFinPrestamo(String fechaFinPrestamo) {
        this.fechaFinPrestamo = fechaFinPrestamo;
    }

    public String getFechaPrestamo() {
        return fechaPrestamo;
    }

    public void setFechaPrestamo(String fechaPrestamo) {
        this.fechaPrestamo = fechaPrestamo;
    }

    public Key getId() {
        return id;
    }

    public void setId(Key id) {
        this.id = id;
    }

    public List<Libro> getLibroPR() {
        return libroPR;
    }

    public void setLibroPR(List<Libro> libroPR) {
        this.libroPR = libroPR;
    }


   /* public Collection<Libro> getLibroP() {
        return libroP;
    }

    public void setLibroP(Collection<Libro> libroP) {
        this.libroP = libroP;
    }*/

    

    public Socio getSocioPR() {
        return socioPR;
    }

    public void setSocioPR(Socio socioPR) {
        this.socioPR = socioPR;
    }

}
